/*
 * @Author: your name
 * @Date: 2020-12-09 09:52:04
 * @LastEditTime: 2020-12-29 21:13:22
 * @LastEditors: Please set LastEditors
 * @Description: 活动列表
 * @FilePath: \h5-zhuhaiyun20201209\js\zz\activityList\activityList.js
 */
Vue.use(vant);


$.when($.ready).done(function(){
    // --- /api/getActivitys
    var curTime = "2020-12-29 00:00:00";
    new Vue({
        el:".zz-container",


        mixins:[zzSetRem],


        data:{
            //--- 活动列表数据
            listData:[],
            currentPage:1,
            total:0,
            listArgs:{
                times:[],
                endTime:curTime,
                startTime:curTime,
                keywords:"",
                page:1,
                pageSize:10,
                status:""  // 活动状态:0、未开始,1、已开始，2、以结束
            },

        },


        computed:{


        },


        created(){


        },


        mounted(){
            // ---
            //
            this.mescroll = new MeScroll("mescroll", { //id固定"body"
                down: {
                    auto:false,
                    callback: mescroll=>{
                        this.clearListData();
                        this.currentPage = 1;
                        //
                        this.getActivitys.bind(this)();
                    }
                },
                //上拉加载的配置项
                up: {
                    callback:page=>{
                        console.log("---page---",page);
                        this.getActivitys()
                    }, //上拉回调,此处可简写; 相当于 callback: function (page) { getListData(page); }
                    noMoreSize: 1, //如果列表已无数据,可设置列表的总数量要大于半页才显示无更多数据;避免列表数据过少(比如只有一条数据),显示无更多数据会不好看; 默认5
                    empty: {
                        //icon: "../res/img/mescroll-empty.png", //图标,默认null
                        tip: "~~暂无更多数据哦~~", //提示
                        //btntext: "去逛逛 >", //按钮,默认""
                        // btnClick: function(){//点击按钮的回调,默认null
                        // 	alert("点击了按钮,具体逻辑自行实现");
                        // } 
                    },
                    //clearEmptyId: "dataList", //相当于同时设置了clearId和empty.warpId; 简化写法;默认null; 注意vue中不能配置此项
                    // toTop:{ //配置回到顶部按钮
                    // 	src : "../res/img/mescroll-totop.png", //默认滚动到1000px显示,可配置offset修改
                    // 	//html: null, //html标签内容,默认null; 如果同时设置了src,则优先取src
                    // 	//offset : 1000
                    // },
                    lazyLoad: {
                        use: true
                    }
                }
            });
        },


        watch:{


        },


        methods:{
            // --- 获取活动列表数据
            getActivitys(){
                //
                if(this.listData.length && this.listData.length >= this.total)return Promise.resolve();
                //
                this.listArgs["page"] = this.currentPage;
                return zzRequest.post(
                    "/api/getActivitys",
                    this.listArgs
                ).then(data=>{
                    console.log("---获取活动列表数据(success)---",data);
                    //
                    this.total = data.body.total;
                    //
                    if(this.currentPage == 1 ){
                        this.listData = null;
                        this.listData = data.body.data;
                    }else{
                        this.listData.concat(data.body.data);
                    }
                    //
                    this.mescroll.endBySize(data.body.data.length, data.body.total); //必传参数(当前页的数据个数, 总数据量)
                    //
                    this.currentPage++;
                }).catch(err=>{
                    console.log("---获取活动列表数据(fail)---",err);
                    vant.Toast.fail({
                        message: data.msg
                    });
                });
            },
            // ---
            clearListData(){
                this.listData.splice(0,this.listData.length);
            },
            // --- 打开活动详情
            openActivityDetail(info){
                localStorage.setItem("zz_hdxq20201229",JSON.stringify(info));
                // --- 打开活动详情页面
                location.href="../activityDetail/activityDetail.html?activityId="+info.id;
            }
        },


        components:{


        }


    })
});
